The advance of computer technology has placed very powerful, compact, keyboard equipped central processing units within reach of us all. As we take our place in front of one of these keyboard driven computers and start typing in data and commands, all sorts of new uses and desirable time saving features come to mind, ideas that have previously required expensive system modifications or additions to implement.
For example, when entering data or commands to a central processing unit, it is often necessary to repeat a pattern of keystrokes that has already been entered. This may be required, for instance, to initialize a program, to set default settings in a word processing program, or to perform some other often repeated function. The tedious process of performing such keyboard functions is simplified in some systems by providing a utility program that can be called by striking a designated combination of keys. Once called, the utility program generates the desired keystroke pattern without further operator assistance.
Although this technique may be satisfactory for many applications, it suffers from certain drawbacks. For example, in some systems, there is insufficient hardware or software capability to support the utility programs so that expensive memory or software must be added to the central processing unit. This may mean using one of the limited number expansion slots available, and the use of such for a utility program may not be desirable. Alternatively, expensive peripheral memory devices must be employed, and doing this may mean not only increased cost, but also the elimination of some other desired function. Sometimes the utlity program resides in the computer random access memory (RAM), which is generally unavailable or undesirable for such use. Moreover, in some applications, the entire keyboard is required by the operating system or application software, so that no keys are available for calling the utility program.
Consequently, as it is desirable to have a convenient utility arrangement which could either be an original equipment installation, or could be conveniently connected into an existing computer as an accessory. As an accessory, it would not require the use of an expansion slot nor require system modification or altered software. However, it would nevertheless operate under keyboard control to provide a selected keystroke pattern without taking up additional central processing unit memory and without being limited in those cases where the whole keyboard is in use.
A related example of increased functionality often desired in keyboard driven systems, is where operating systems and applications prompt the operator to enter the time and date when the program is first initialized. The task of entering the appropriate data often becomes a tedious one that the operator desires to avoid, and entry of the correct time and date is either purposely overlooked or begrudgingly done.
Such an utility arrangement should facilitate the entry of the time and date into the system in response to the system prompt. Even though some computer systems employ real time clocks, they are not always compatible with the software being used so that the job must nevertheless be done by the operator. Consequently, it is desirable to have such an arrangement which functions to provide the correct time and date with a minimum of operator attention or effort required.
Yet another example of functionality that is often desired in an existing computer system, is related to the inability of some handicapped and disabled operators to easily manipulate a keyboard. Such operators can often do little more physically than to manipulate a single switch with a paddle placed in their mouth or with some other movable body member. Special computers with complex software are required, and such costly equipment is thus not widely used. If there were some way that an existing conventional keyboard driven computer system could be operated with a single switch placed near such an operator, it would enable far more handicapped people to use a computer, especially if the utility arrangement were relatively inexpensive to manufacture. So, in these cases, it is desirable to have such a utility arrangement, which would also enable the entry of data and commands to an existing computer system by the manipulation of a single switch advantageously placed near the operator.
As yet another example of a utility procedure frequently required by computer users, consider the incompatibility of two word processing programs. Files created on one can often be used with the other only after first converting the files into the proper format. In some instances conversion programs simply do not exist. They would be expensive and require continuous updating to allow for changes made to word processing programs. As a result, there is no convenient way available to inexpensively transfer files between incompatible word processing programs. The file usually has to be recreated, resulting in the expenditure of unwanted time, and in operator frustration.
Therefore, it would be highly desirable for such a utility arrangement also to enable the use of files or other data created with an otherwise incompatible program. Consequently, it is desirable to have such an arrangement which would also enable data created in one format to be inputted conveniently into a system using otherwise incompatible software.
In addition to all of the above, it is important to be able to provide such a new and improved multi-purpose utility arrangement, to facilitate all of the foregoing functions, without modifying the software or hardware of an existing computer system, and without using limited expansion capabilities thereof. Consequently, it is desirable to have an either such an original equipment utility arrangement, or such a utility arrangement in the form of inexpensive, plug compatible device which is attachable to an existing computer system without the need for hardware or software modification or use of preplanned system expansion features.